/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controlador;

import java.awt.Color;
import javax.comm.CommPortIdentifier;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import logica.OperacionBaseDatos;
import logica.ProcesaCadena;
import vista.Principal2;

import logica.ProcesaPuertoSerial;

/**
 *
 * @author Elias Mendoza
 */
public class ControlEventos {

  ProcesaPuertoSerial pps;
  ContenedorComponente cc;

  public ControlEventos(ContenedorComponente cc){
    this.cc = cc;
  }
  public ControlEventos(){
    
  }
  public void eventoConectar(String puerto){
    pps = new ProcesaPuertoSerial(puerto);
    CommPortIdentifier puertoSerial= pps.compruebaPuerto();
    if(puertoSerial != null){
      cc.getConectar().setEnabled(false);
      cc.getLabelEstadoPuerto().setForeground(Color.GREEN);  
      cc.getLabelEstadoPuerto().setText("Conectado");
      cc.getLabelEstadoPuerto().repaint();
      JOptionPane.showMessageDialog(null, "Conexión Establecida con PuertoSerial("+cc+")", "Conexión a Puerto Serie", JOptionPane.INFORMATION_MESSAGE);
    
      ProcesaCadena pc = new ProcesaCadena(puertoSerial,cc);
      
    }
    else{
      JOptionPane.showMessageDialog(null, " Ha Fallado la Conexión a PuertoSerial("+puerto+")", "Conexión a Puerto Serie", JOptionPane.ERROR_MESSAGE);
    }
  }
  public <Registro> void inserta(Registro r){
    OperacionBaseDatos opb = new OperacionBaseDatos(cc);
    if(opb.insertarFormulario(r))
      JOptionPane.showMessageDialog(null, " Registro Completo", "Registro", JOptionPane.INFORMATION_MESSAGE);
    else
      JOptionPane.showMessageDialog(null, " Ha Fallado el Registro", "Registro", JOptionPane.ERROR_MESSAGE);
  }
  public void llenaComponenteProductor(JComboBox cb){
    OperacionBaseDatos op = new OperacionBaseDatos();
    op.consultaProductores(cb);
    
  }
  public void llenaComponenteNave(JComboBox cb){
    OperacionBaseDatos op = new OperacionBaseDatos();
    op.consultaNaves(cb);
  }
  public void llenaComponenteReferencia(JComboBox cb){
    OperacionBaseDatos op = new OperacionBaseDatos();
    op.consultaReferencia(cb);
  }
  public void llenaComponenteGrupo(DefaultListModel modelo){
    OperacionBaseDatos op = new OperacionBaseDatos();
    op.consultaGrupos(modelo);
  }
  
}
